<nav class="navbar navbar-dark bg-primary">
    <div class="container-fluid">
        <span class="navbar-brand mb-0 h1">虚拟仓管理系统</span>
        <div>
            <a href="/" class="btn btn-light me-2">自有库存</a>
            <a href="/stock/docs" class="btn btn-light me-2">出入库单据</a>
            <a href="/transfer/records" class="btn btn-light me-2">转移记录</a>
            <a href="/supplier" class="btn btn-light me-2">VMI库存管理</a>
            <a href="/supplier/management" class="btn btn-light me-2">供应商管理</a>
            <a href="/sync/logs" class="btn btn-light me-2">同步记录</a>
            <a href="/zero-stock/orders" class="btn btn-light me-2">零库存订单</a>
            <a id="userManagementLink" href="/user/management" class="btn btn-light me-2" style="display:none">用户管理</a> 
            <a href="/help" class="btn btn-light me-2">帮助</a>
            <button id="logout" class="btn btn-light">退出</button>
        </div>
    </div>
</nav>

<!-- 全局CSRF令牌支持 -->
<script>
    // 获取CSRF令牌的函数
    async function getCsrfToken() {
        try {
            const response = await fetch('/api/csrf-token');
            if (!response.ok) throw new Error(`获取CSRF令牌失败: ${response.status}`);
            const data = await response.json();
            return data.csrf_token;
        } catch (error) {
            console.error('获取CSRF令牌错误:', error);
            return null;
        }
    }
    
    // 设置全局CSRF令牌
    let csrfToken = null;
    
    // 初始化CSRF令牌
    getCsrfToken().then(token => {
        csrfToken = token;
    });
    
    // 增强fetch函数，自动添加CSRF令牌
    const originalFetch = window.fetch;
    window.fetch = async (url, options = {}) => {
        // 确保options.headers存在
        if (!options.headers) {
            options.headers = {};
        }
        
        // 对于非GET请求，添加CSRF令牌
        if (options.method && options.method.toUpperCase() !== 'GET') {
            // 如果是FormData，不设置Content-Type
            if (!(options.body instanceof FormData)) {
                options.headers['Content-Type'] = options.headers['Content-Type'] || 'application/json';
            }
            
            // 如果没有CSRF令牌，尝试获取
            if (!csrfToken) {
                csrfToken = await getCsrfToken();
            }
            
            // 添加CSRF令牌头部
            options.headers['X-CSRFToken'] = csrfToken;
        }
        
        return originalFetch(url, options);
    };
    
    // 导航栏用户管理链接显示逻辑
    (async () => {
        try {
            const res = await fetch('/api/check_login');
            if (!res.ok) throw new Error(`接口状态：${res.status}`);            
            const data = await res.json();
            const link = document.getElementById('userManagementLink');
            if (!link) {
                console.error('未找到userManagementLink元素（检查id是否拼写错误）');
                return;
            }

            if (data.is_login && data.role === 'admin') {
                link.style.display = 'inline-block';
                console.log('管理员：显示用户管理入口');
            } else {
                console.log('非管理员或未登录：隐藏用户管理入口');
            }
        } catch (err) {
            console.error('navbar脚本出错：', err);
        }
    })();
    
    // 退出登录
    document.getElementById('logout').addEventListener('click', () => {
        window.location.href = '/logout';
    });
</script>